package top.someapp.applib.fn;

import androidx.annotation.NonNull;

/**
 * @author zwz
 * Created on 2020-03-30
 */
public class Fn {

    public interface Action {

        void execute();
    }

    public interface VoidCallback<T> {

        void call(@NonNull T t);
    }

    public interface ValueProvider<V, T> {

        V get(@NonNull T t);
    }

    public interface Castor<F, T> {

        T cast(F from);
    }

    public interface Filter<E> {

        boolean test(@NonNull E e);
    }

    public interface Visitor {

        <E> void visit(@NonNull E e);
    }
}
